Linux grep 常见使用方式

元数据

作者: Cnblogs.com
标题: Linux grep 常见使用方式
分类: #linux
地址: https://www.cnblogs.com/LanTianYou/p/17359397.html

笔记

搜索指定字符串 跳转

grep "hello" file.txt
grep "hello" folder/file.txt

搜索多个字符串 跳转

grep -E "hello|world" file.txt

忽略大小写 跳转

grep -i "hello" file.txt

输出行号 跳转

grep -i "hello" file.txt

反向搜索 跳转

grep -v "hello" file.txt

搜索某个范围内的行 跳转
搜索整个单词 跳转

grep -w "hello" file.txt

统计匹配次数 跳转

grep -c "hello" file.txt

搜索指定文件类型 跳转

grep "hello" *.txt
grep "hello" --include "*.txt" folder/

搜索子目录 跳转

grep -r "hello" folder/
grep -R "hello" folder/

不忽略二进制文件 跳转

grep -a "hello" binary_file.bin

搜索时忽略特定目录 跳转

grep -r "hello" folder/ --exclude-dir=log/

搜索特定行数 跳转

grep -m 10 'hello' file.txt # 只搜索文件中的前10行

输出匹配字符串前后的内容 跳转

grep -o 'hello' file.txt # 只输出匹配到的 'hello' 字符串,而不包含它前后的内容
grep -A 3 'hello' file.txt # 输出包含 'hello' 字符串的行以及后三行
grep -B 2 'hello' file.txt # 输出包含 'hello' 字符串的行以及前两行

显示不匹配行 跳转

grep -L 'hello' file.txt # 输出不匹配 'hello' 字符串的行

显示匹配行前几行和后几行的内容 跳转

grep -C 2 'hello' file.txt # 输出包含 'hello' 字符串的行以及前后两行内容

搜索多个文件 跳转

grep 'hello' file1.txt file2.txt file3.txt # 搜索 file1.txt, file2.txt, file3.txt 文件中的 'hello' 字符串

搜索时忽略空白字符 跳转

grep -w 'hello' file.txt # 忽略匹配字符串前后的空格、制表符等空白字符

搜索时查看匹配字符串的上文或下文 跳转

grep -B 2 'hello' file.txt # 输出包含 ‘hello’ 字符串的行以及匹配字符串前2行
grep -A 3 'hello' file.txt # 输出包含 ‘hello’ 字符串的行以及匹配字符串后3行